Skip to content

feat(studio): DataDesigner details profiler results#428

Open
steramae-nvidia wants to merge 2 commits into
mainfrom
steramae/dd-details-redesign
Open

feat(studio): DataDesigner details profiler results#428
steramae-nvidia wants to merge 2 commits into
mainfrom
steramae/dd-details-redesign

Conversation

@steramae-nvidia

@steramae-nvidia steramae-nvidia commented Jun 24, 2026

Copy link
Copy Markdown
Contributor
Screenshot 2026-06-23 at 4 44 03 PM

Summary by CodeRabbit

  • New Features

    • Added a richer Data Designer job details experience with tabs for profile and output files.
    • Introduced a configuration side panel to view job settings and summary details.
    • Added column profiling visuals, including categorical histograms and dataset completion progress.
  • Bug Fixes

    • Improved handling of missing or malformed profiling/config data with clearer empty, loading, and error states.
    • Updated the default build model identifier to a corrected value.

@steramae-nvidia steramae-nvidia requested review from a team as code owners June 24, 2026 00:12
@github-actions github-actions Bot added the feat label Jun 24, 2026
@coderabbitai

coderabbitai Bot commented Jun 24, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 63ee6e95-feba-44cf-9327-8cffb8bd73b0

📥 Commits

Reviewing files that changed from the base of the PR and between 1d76e20 and 9957f2a.

📒 Files selected for processing (14)
  • web/packages/studio/src/constants/constants.ts
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/CategoricalHistogramChart.tsx
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/ColumnProfileCard.tsx
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/DataDesignerConfigPanel.tsx
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/DatasetProfilerSection.tsx
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/JobOutputFilesetSection.tsx
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/builderConfig.test.ts
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/builderConfig.ts
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/datasetProfilerTypes.test.ts
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/datasetProfilerTypes.ts
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/index.tsx
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/useDataDesignerArtifactsFileset.ts
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/useDataDesignerJobAnalysis.ts
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/useDataDesignerJobFromRoute.ts
✅ Files skipped from review due to trivial changes (1)
  • web/packages/studio/src/constants/constants.ts
🚧 Files skipped from review as they are similar to previous changes (13)
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/builderConfig.test.ts
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/useDataDesignerJobAnalysis.ts
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/ColumnProfileCard.tsx
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/datasetProfilerTypes.test.ts
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/useDataDesignerJobFromRoute.ts
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/builderConfig.ts
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/useDataDesignerArtifactsFileset.ts
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/DataDesignerConfigPanel.tsx
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/DatasetProfilerSection.tsx
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/JobOutputFilesetSection.tsx
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/index.tsx
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/datasetProfilerTypes.ts
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/CategoricalHistogramChart.tsx

📝 Walkthrough

Walkthrough

Adds dataset profiler types and UI, builder config parsing and a config panel, shared job/fileset hooks, tabbed job-details wiring, and a default build model constant update.

Changes

Data Designer Job Details Feature Expansion

Layer / File(s) Summary
Profiler types and helpers
web/packages/studio/src/routes/DataDesignerJobDetailsRoute/datasetProfilerTypes.ts, web/packages/studio/src/routes/DataDesignerJobDetailsRoute/datasetProfilerTypes.test.ts
Adds dataset profiler result types, sentinel-aware formatting, percentage and distribution helpers, and tests for the helper outputs and fallback cases.
Histogram chart and column card
web/packages/studio/src/routes/DataDesignerJobDetailsRoute/CategoricalHistogramChart.tsx, web/packages/studio/src/routes/DataDesignerJobDetailsRoute/ColumnProfileCard.tsx
Adds the categorical histogram chart and the column profile card that renders base metrics and variant-specific detail sections.
Builder config parser and tests
web/packages/studio/src/routes/DataDesignerJobDetailsRoute/builderConfig.ts, web/packages/studio/src/routes/DataDesignerJobDetailsRoute/builderConfig.test.ts
Defines builder config summary types, parses builder_config.json defensively, formats the column-type breakdown, and tests valid, minimal, and malformed payloads.
Shared route hooks
web/packages/studio/src/routes/DataDesignerJobDetailsRoute/useDataDesignerJobFromRoute.ts, web/packages/studio/src/routes/DataDesignerJobDetailsRoute/useDataDesignerArtifactsFileset.ts, web/packages/studio/src/routes/DataDesignerJobDetailsRoute/useDataDesignerJobAnalysis.ts
Adds hooks for route job lookup, artifacts fileset resolution, and analysis result loading, including terminal-status-aware polling and conditional file listing.
Dataset profiler section
web/packages/studio/src/routes/DataDesignerJobDetailsRoute/DatasetProfilerSection.tsx
Adds the profile tab section that handles pending, loading, empty, and error states, then renders record completeness and the column profile grid when analysis data is available.
Config side panel
web/packages/studio/src/routes/DataDesignerJobDetailsRoute/DataDesignerConfigPanel.tsx
Adds the job config side panel that fetches builder_config.json from the artifacts fileset and renders loading, missing, error, or summary states.
Route tabs and fileset refactor
web/packages/studio/src/routes/DataDesignerJobDetailsRoute/index.tsx, web/packages/studio/src/routes/DataDesignerJobDetailsRoute/JobOutputFilesetSection.tsx
Switches the job details route to the shared job hook, adds the profile and output tabs plus the config panel, and rewires the output files section to use the artifacts-fileset hook state.

Default build model update

Layer / File(s) Summary
Default build model constant
web/packages/studio/src/constants/constants.ts
Changes DEFAULT_BUILD_MODEL_NAME to nvidia-llama-3-3-nemotron-super-49b-v1.

Sequence Diagram(s)

sequenceDiagram
  participant DataDesignerJobDetailsRoute
  participant useDataDesignerJobFromRoute
  participant DatasetProfilerSection
  participant useDataDesignerJobAnalysis
  participant JobOutputFilesetSection
  participant useDataDesignerArtifactsFileset
  participant DataDesignerConfigPanel
  participant useDatasetFileContent

  DataDesignerJobDetailsRoute->>useDataDesignerJobFromRoute: load workspace, jobName, job
  useDataDesignerJobFromRoute->>useDataDesignerGetCreateJob: fetch job status
  DataDesignerJobDetailsRoute->>DatasetProfilerSection: render Profile tab
  DatasetProfilerSection->>useDataDesignerJobAnalysis: load analysis result
  useDataDesignerJobAnalysis->>useDataDesignerListCreateJobResults: list create job results
  DataDesignerJobDetailsRoute->>JobOutputFilesetSection: render Output files tab
  JobOutputFilesetSection->>useDataDesignerArtifactsFileset: resolve artifacts fileset
  useDataDesignerArtifactsFileset->>useDataDesignerListCreateJobResults: list create job results
  useDataDesignerArtifactsFileset->>useFilesListFilesetFiles: list files in fileset
  DataDesignerJobDetailsRoute->>DataDesignerConfigPanel: open config side panel
  DataDesignerConfigPanel->>useDataDesignerArtifactsFileset: read builder config file
  DataDesignerConfigPanel->>useDatasetFileContent: fetch file content
Loading
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly matches the main change: adding DataDesigner profiler details/results in Studio.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch steramae/dd-details-redesign

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 6

🧹 Nitpick comments (4)
web/packages/studio/src/routes/DataDesignerJobDetailsRoute/builderConfig.ts (1)

17-44: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Mark summary interface fields as readonly.

These interfaces represent parsed summary snapshots and should be immutable at the type level.

Proposed diff
 export interface BuilderConfigColumnSummary {
-  name: string;
-  type: string;
-  modelAlias?: string;
+  readonly name: string;
+  readonly type: string;
+  readonly modelAlias?: string;
 }
 
 export interface BuilderConfigModelSummary {
-  alias: string;
-  model: string;
-  provider?: string;
+  readonly alias: string;
+  readonly model: string;
+  readonly provider?: string;
 }
 
 export interface BuilderConfigSeedSummary {
-  type: string;
-  samplingStrategy?: string;
+  readonly type: string;
+  readonly samplingStrategy?: string;
 }
 
 export interface BuilderConfigSummary {
-  columnCount: number;
-  columns: BuilderConfigColumnSummary[];
-  columnTypeBreakdown: Array<{ type: string; count: number }>;
-  models: BuilderConfigModelSummary[];
-  seed?: BuilderConfigSeedSummary;
-  constraintCount: number;
-  profilerCount: number;
-  processorNames: string[];
-  libraryVersion?: string;
+  readonly columnCount: number;
+  readonly columns: BuilderConfigColumnSummary[];
+  readonly columnTypeBreakdown: Array<{ type: string; count: number }>;
+  readonly models: BuilderConfigModelSummary[];
+  readonly seed?: BuilderConfigSeedSummary;
+  readonly constraintCount: number;
+  readonly profilerCount: number;
+  readonly processorNames: string[];
+  readonly libraryVersion?: string;
 }

As per coding guidelines: web/**/*.{ts,tsx}: Use \readonly` for immutable properties in TypeScript interfaces and types`.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@web/packages/studio/src/routes/DataDesignerJobDetailsRoute/builderConfig.ts`
around lines 17 - 44, Add the readonly keyword to all property declarations in
the four summary interfaces (BuilderConfigColumnSummary,
BuilderConfigModelSummary, BuilderConfigSeedSummary, and BuilderConfigSummary)
to mark them as immutable at the type level. For each property in these
interfaces, prefix the property name with the readonly keyword to ensure the
data structures represent immutable snapshots that cannot be modified after
creation.

Source: Coding guidelines

web/packages/studio/src/routes/DataDesignerJobDetailsRoute/DataDesignerConfigPanel.tsx (1)

14-14: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Import FC as type-only.

FC is only used in type positions here.

Proposed diff
-import { FC, useMemo } from 'react';
+import { useMemo, type FC } from 'react';

As per coding guidelines: web/**/*.{ts,tsx}: Use \import type` for type-only imports in TypeScript`.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@web/packages/studio/src/routes/DataDesignerJobDetailsRoute/DataDesignerConfigPanel.tsx`
at line 14, The import statement at the top of DataDesignerConfigPanel.tsx
imports both FC and useMemo from 'react' using a single import statement. Since
FC is only used in type positions (as a functional component type), it should be
imported using import type syntax instead of regular import. Split the import
statement so that FC is imported with import type while useMemo remains in a
regular import statement.

Source: Coding guidelines

web/packages/studio/src/routes/DataDesignerJobDetailsRoute/JobOutputFilesetSection.tsx (1)

20-20: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Convert type-only React imports to import type.

ComponentProps and FC are type-only and should use import type in this TSX file.

Proposed fix
-import { ComponentProps, FC, useCallback, useEffect, useMemo, useState } from 'react';
+import { useCallback, useEffect, useMemo, useState } from 'react';
+import type { ComponentProps, FC } from 'react';

As per coding guidelines, web/**/*.{ts,tsx}: Use import type for type-only imports in TypeScript.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@web/packages/studio/src/routes/DataDesignerJobDetailsRoute/JobOutputFilesetSection.tsx`
at line 20, In the import statement at the top of JobOutputFilesetSection.tsx,
separate the type-only imports from the runtime imports. Move ComponentProps and
FC to a new line using import type syntax, keeping useCallback, useEffect,
useMemo, and useState in the regular import statement from React. This ensures
type-only imports are clearly distinguished from runtime dependencies according
to the project's TypeScript guidelines.

Source: Coding guidelines

web/packages/studio/src/routes/DataDesignerJobDetailsRoute/index.tsx (1)

25-25: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Use import type for FC in this TSX module.

FC is type-only and should be imported with import type to match the TypeScript guideline.

Proposed fix
-import { FC, useState } from 'react';
+import { useState } from 'react';
+import type { FC } from 'react';

As per coding guidelines, web/**/*.{ts,tsx}: Use import type for type-only imports in TypeScript.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@web/packages/studio/src/routes/DataDesignerJobDetailsRoute/index.tsx` at line
25, The import statement at the top of the DataDesignerJobDetailsRoute file
imports FC as a type-only import along with useState in a single import
statement. Separate this into two imports: create a type-only import for FC
using import type, and keep a regular import for useState from react. This
ensures that type-only imports are explicitly marked as such, following
TypeScript guidelines that help with tree-shaking and code clarity.

Source: Coding guidelines

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In
`@web/packages/studio/src/routes/DataDesignerJobDetailsRoute/DataDesignerConfigPanel.tsx`:
- Around line 59-63: The key prop for the mapped KVPair components uses only
model.alias and column.name respectively, which can collide when duplicate
aliases or names exist (such as multiple "(unnamed)" entries), causing React to
mis-reconcile elements. Replace the key prop in both the model mapping (around
line 59-63 in the summary.models.map) and the column mapping (around line 75-79)
with a stable unique identifier that includes both the alias/name and the array
index, or another property that ensures uniqueness across duplicates, to prevent
reconciliation issues.

In
`@web/packages/studio/src/routes/DataDesignerJobDetailsRoute/DatasetProfilerSection.tsx`:
- Around line 57-67: The loading state condition in the first if statement is
checking hasAnalysis instead of the actual analysis data, which causes the
empty-state message to appear when hasAnalysis is true but the data is still
loading. Change the condition from checking !hasAnalysis to checking !analysis
(or checking if analysis is falsy/undefined) to properly gate the skeleton
loading state. This ensures the skeleton loader displays whenever data is
actually still loading, regardless of the hasAnalysis flag status. The fix
applies to the loading branch condition at the beginning of this component
logic.

In
`@web/packages/studio/src/routes/DataDesignerJobDetailsRoute/datasetProfilerTypes.ts`:
- Around line 148-153: The getPercentComplete function can return values above
100 or below 0 due to backend count drift, which breaks progress rendering in
consumers expecting valid percentage values. Clamp the calculated percentage
result to the range [0, 100] by wrapping the return statement with Math.max(0,
Math.min(100, ...)) to ensure the function always returns a value between 0 and
100 inclusive.
- Around line 136-137: The type predicate isLLMColumnStatistics narrows to only
LLMTextColumnStatistics, but the runtime check using LLM_COLUMN_TYPES actually
validates against four different LLM column types (llm-text, llm-code,
llm-structured, and llm-judge). Create a union type that includes all four LLM
column statistic variants, then update the return type of the
isLLMColumnStatistics predicate to use this union type instead of
LLMTextColumnStatistics to align the type guard with the actual runtime
behavior.

In
`@web/packages/studio/src/routes/DataDesignerJobDetailsRoute/useDataDesignerArtifactsFileset.ts`:
- Around line 26-29: The useDataDesignerListCreateJobResults hook call is not
capturing error information from its response. Currently when the hook fails,
it's being treated identically to the case where there are simply no results,
causing incorrect error messages to display downstream. Extract the error state
that the hook returns (in addition to the data and isLoading states already
being destructured) and ensure this error state is used by downstream code to
properly render an error state instead of conflating it with empty results.
Apply this same fix to all usages of useDataDesignerListCreateJobResults
including the location at lines 74-89.

In
`@web/packages/studio/src/routes/DataDesignerJobDetailsRoute/useDataDesignerJobAnalysis.ts`:
- Around line 33-36: The useDataDesignerJobAnalysis hook is not capturing errors
from the useDataDesignerListCreateJobResults query call. When the results
listing fails, the hook currently reports hasAnalysis as false and isError as
false, misclassifying backend failures as missing analysis. Extract the error
state from the useDataDesignerListCreateJobResults destructuring (similar to how
data and isLoading are extracted) and incorporate it into the hook's return
value so that actual backend errors are properly surfaced to consumers rather
than being silently dropped.

---

Nitpick comments:
In `@web/packages/studio/src/routes/DataDesignerJobDetailsRoute/builderConfig.ts`:
- Around line 17-44: Add the readonly keyword to all property declarations in
the four summary interfaces (BuilderConfigColumnSummary,
BuilderConfigModelSummary, BuilderConfigSeedSummary, and BuilderConfigSummary)
to mark them as immutable at the type level. For each property in these
interfaces, prefix the property name with the readonly keyword to ensure the
data structures represent immutable snapshots that cannot be modified after
creation.

In
`@web/packages/studio/src/routes/DataDesignerJobDetailsRoute/DataDesignerConfigPanel.tsx`:
- Line 14: The import statement at the top of DataDesignerConfigPanel.tsx
imports both FC and useMemo from 'react' using a single import statement. Since
FC is only used in type positions (as a functional component type), it should be
imported using import type syntax instead of regular import. Split the import
statement so that FC is imported with import type while useMemo remains in a
regular import statement.

In `@web/packages/studio/src/routes/DataDesignerJobDetailsRoute/index.tsx`:
- Line 25: The import statement at the top of the DataDesignerJobDetailsRoute
file imports FC as a type-only import along with useState in a single import
statement. Separate this into two imports: create a type-only import for FC
using import type, and keep a regular import for useState from react. This
ensures that type-only imports are explicitly marked as such, following
TypeScript guidelines that help with tree-shaking and code clarity.

In
`@web/packages/studio/src/routes/DataDesignerJobDetailsRoute/JobOutputFilesetSection.tsx`:
- Line 20: In the import statement at the top of JobOutputFilesetSection.tsx,
separate the type-only imports from the runtime imports. Move ComponentProps and
FC to a new line using import type syntax, keeping useCallback, useEffect,
useMemo, and useState in the regular import statement from React. This ensures
type-only imports are clearly distinguished from runtime dependencies according
to the project's TypeScript guidelines.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 63a66446-24f0-4fc3-a33c-ef9c32f8b383

📥 Commits

Reviewing files that changed from the base of the PR and between d8ea9e2 and 1d2deab.

📒 Files selected for processing (14)
  • web/packages/studio/src/constants/constants.ts
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/CategoricalHistogramChart.tsx
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/ColumnProfileCard.tsx
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/DataDesignerConfigPanel.tsx
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/DatasetProfilerSection.tsx
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/JobOutputFilesetSection.tsx
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/builderConfig.test.ts
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/builderConfig.ts
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/datasetProfilerTypes.test.ts
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/datasetProfilerTypes.ts
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/index.tsx
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/useDataDesignerArtifactsFileset.ts
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/useDataDesignerJobAnalysis.ts
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/useDataDesignerJobFromRoute.ts

@github-actions

github-actions Bot commented Jun 24, 2026

Copy link
Copy Markdown
Contributor
Suite Lines Covered Line Rate Branch Rate
Unit Tests 20911/27483 76.1% 61.2%
Integration Tests 12109/26252 46.1% 19.5%

@crookedstorm crookedstorm requested a review from a team as a code owner June 24, 2026 18:07
@steramae-nvidia steramae-nvidia force-pushed the steramae/dd-details-redesign branch from 405d6ae to 1d76e20 Compare June 25, 2026 18:51
Signed-off-by: Sean Teramae <steramae@nvidia.com>
Signed-off-by: Sean Teramae <steramae@nvidia.com>
@steramae-nvidia steramae-nvidia force-pushed the steramae/dd-details-redesign branch from 1d76e20 to 9957f2a Compare June 25, 2026 18:53

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In
`@web/packages/studio/src/components/dataViews/ExperimentGroupDataView/index.tsx`:
- Around line 117-137: The component has a duplicated metadataKeys memo and the
second block uses tableData, which is not defined in ExperimentGroupDataView.
Remove the stale redeclaration and keep only the existing useMemo wired to the
in-scope orderedData source so the metadata key computation stays single and
buildable.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 837c8bbd-ab1d-4656-89be-2a24d4055257

📥 Commits

Reviewing files that changed from the base of the PR and between 405d6ae and 1d76e20.

📒 Files selected for processing (15)
  • web/packages/studio/src/components/dataViews/ExperimentGroupDataView/index.tsx
  • web/packages/studio/src/constants/constants.ts
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/CategoricalHistogramChart.tsx
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/ColumnProfileCard.tsx
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/DataDesignerConfigPanel.tsx
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/DatasetProfilerSection.tsx
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/JobOutputFilesetSection.tsx
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/builderConfig.test.ts
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/builderConfig.ts
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/datasetProfilerTypes.test.ts
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/datasetProfilerTypes.ts
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/index.tsx
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/useDataDesignerArtifactsFileset.ts
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/useDataDesignerJobAnalysis.ts
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/useDataDesignerJobFromRoute.ts
💤 Files with no reviewable changes (14)
  • web/packages/studio/src/constants/constants.ts
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/CategoricalHistogramChart.tsx
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/datasetProfilerTypes.test.ts
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/useDataDesignerJobFromRoute.ts
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/builderConfig.test.ts
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/useDataDesignerJobAnalysis.ts
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/ColumnProfileCard.tsx
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/builderConfig.ts
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/DataDesignerConfigPanel.tsx
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/DatasetProfilerSection.tsx
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/datasetProfilerTypes.ts
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/index.tsx
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/useDataDesignerArtifactsFileset.ts
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/JobOutputFilesetSection.tsx

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Caution

Inline review comments failed to post. This is likely due to GitHub's internal server error or limits when posting large numbers of comments. If you are seeing this consistently it is likely a permissions issue. Please check "Moderation" -> "Code review limits" under your organization settings.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In
`@web/packages/studio/src/components/dataViews/ExperimentGroupDataView/index.tsx`:
- Around line 117-137: The component has a duplicated metadataKeys memo and the
second block uses tableData, which is not defined in ExperimentGroupDataView.
Remove the stale redeclaration and keep only the existing useMemo wired to the
in-scope orderedData source so the metadata key computation stays single and
buildable.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 837c8bbd-ab1d-4656-89be-2a24d4055257

📥 Commits

Reviewing files that changed from the base of the PR and between 405d6ae and 1d76e20.

📒 Files selected for processing (15)
  • web/packages/studio/src/components/dataViews/ExperimentGroupDataView/index.tsx
  • web/packages/studio/src/constants/constants.ts
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/CategoricalHistogramChart.tsx
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/ColumnProfileCard.tsx
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/DataDesignerConfigPanel.tsx
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/DatasetProfilerSection.tsx
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/JobOutputFilesetSection.tsx
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/builderConfig.test.ts
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/builderConfig.ts
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/datasetProfilerTypes.test.ts
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/datasetProfilerTypes.ts
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/index.tsx
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/useDataDesignerArtifactsFileset.ts
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/useDataDesignerJobAnalysis.ts
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/useDataDesignerJobFromRoute.ts
💤 Files with no reviewable changes (14)
  • web/packages/studio/src/constants/constants.ts
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/CategoricalHistogramChart.tsx
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/datasetProfilerTypes.test.ts
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/useDataDesignerJobFromRoute.ts
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/builderConfig.test.ts
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/useDataDesignerJobAnalysis.ts
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/ColumnProfileCard.tsx
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/builderConfig.ts
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/DataDesignerConfigPanel.tsx
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/DatasetProfilerSection.tsx
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/datasetProfilerTypes.ts
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/index.tsx
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/useDataDesignerArtifactsFileset.ts
  • web/packages/studio/src/routes/DataDesignerJobDetailsRoute/JobOutputFilesetSection.tsx
🛑 Comments failed to post (1)
web/packages/studio/src/components/dataViews/ExperimentGroupDataView/index.tsx (1)

117-137: 🎯 Functional Correctness | 🔴 Critical | ⚡ Quick win

Replace the old metadataKeys memo instead of duplicating it.

Lines 129-137 redeclare metadataKeys, and tableData is not defined anywhere in this component. This is a build break. Remove the stale block and keep a single memo wired to an in-scope data source.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@web/packages/studio/src/components/dataViews/ExperimentGroupDataView/index.tsx`
around lines 117 - 137, The component has a duplicated metadataKeys memo and the
second block uses tableData, which is not defined in ExperimentGroupDataView.
Remove the stale redeclaration and keep only the existing useMemo wired to the
in-scope orderedData source so the metadata key computation stays single and
buildable.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant